﻿using System;
using System.Collections.Generic;
using System.Linq;

using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Content;

namespace WorldOnFire
{
    public abstract class ABCState : ABCClient
    {
        protected static CStateManager s_StateManager;
        protected static CRenderingManager s_RenderingManager;
        protected static SpriteBatch s_SpriteBatch;
        protected static ContentManager s_ContentManager;

        public static void SetStateManager(CStateManager _StateManager)
        { s_StateManager = _StateManager; }

        public static void SetRenderingManager(CRenderingManager _RenderingManager)
        { s_RenderingManager = _RenderingManager; }

        public static void SetSpriteBatch(SpriteBatch _SpriteBatch)
        { s_SpriteBatch = _SpriteBatch; }

        public static void SetContentManager(ContentManager _Content)
        { s_ContentManager = _Content; }

        protected static Vector2 s_vScreenCenter;

        public static void SetScreenCenter(Vector2 _vCenter)
        { s_vScreenCenter = _vCenter; }


        public virtual void Initialize()
        {

        }

        public virtual void Shutdown()
        {

        }

        public virtual void Input(float _fDeltaTime)
        {

        }

        public virtual void Update(float _fDeltaTime)
        {

        }

        public virtual void Render()
        {

        }
    }
}
